Synchronized advertisement playback across navigation experiences and transitional states

ABSTRACT

Systems and methods that effectuate synchronized advertisement playback across navigation experiences and transitional states, are provided. In an aspect, a system includes an advertisement component configured to play a pre-roll media advertisement associated with a first media item prior to playing of the first media item, a request component configured to receive a request play a second media item prior to completion of the pre-roll media advertisement, and a streaming component configured to initiate playing of the second media item in response to the request, wherein the advertisement component is configured to continue to play the pre-roll media advertisement prior to playing of the second media item.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.14/297,332, filed Jun. 5, 2014, which is hereby incorporated byreference herein in its entirety.

TECHNICAL FIELD

This application generally relates to systems and methods forsynchronizing advertisement playback across navigation experiences andtransitional states.

BACKGROUND

The sharing of video content on Internet based platforms has developedinto a worldwide phenomenon, supported by dozens of websites and mobileapplications. Shared video content provides good opportunities topresent advertising material to viewers along with the requested videocontent. However, some mechanisms for delivering advertising with sharedvideo have been relatively ineffective, while others are perceived byusers as being objectionable and distractive.

BRIEF DESCRIPTION OF THE DRAWINGS

Numerous aspects, embodiments, objects and advantages of the disclosedsubject matter will be apparent upon consideration of the followingdetailed description, taken in conjunction with the accompanyingdrawings, in which like reference characters refer to like partsthroughout, and in which:

FIG. 1 illustrates an example system for synchronizing advertisementplayback across navigation experiences and transitional states inaccordance with various aspects and embodiments described herein;

FIGS. 2-3 respectively present example graphical user interfaces thatfacilitate viewing streaming media in association with in-streamadvertisements in accordance with various aspects and embodimentsdescribed herein;

FIG. 4 illustrates another example system for synchronizingadvertisement playback across navigation experiences and transitionalstates in accordance with various aspects and embodiments describedherein;

FIGS. 5-6 respectively present example graphical user interfaces thatfacilitate viewing streaming media in association with in-streamadvertisements provided in a mini player, in accordance with variousaspects and embodiments described herein;

FIG. 7 illustrates another example system for synchronizingadvertisement playback across navigation experiences and transitionalstates in accordance with various aspects and embodiments describedherein;

FIG. 8 is a flow diagram of an example method for synchronizingadvertisement playback across navigation experiences and transitionalstates in accordance with various aspects and embodiments describedherein;

FIG. 9 is a flow diagram of another example method for synchronizingadvertisement playback across navigation experiences and transitionalstates in accordance with various aspects and embodiments describedherein;

FIG. 10 is a flow diagram of another example method for synchronizingadvertisement playback across navigation experiences and transitionalstates in accordance with various aspects and embodiments describedherein;

FIG. 11 is a schematic block diagram illustrating a suitable operatingenvironment in accordance with various aspects and embodiments.

FIG. 12 is a schematic block diagram of a sample-computing environmentin accordance with various aspects and embodiments.

DETAILED DESCRIPTION

The innovation is described with reference to the drawings, wherein likereference numerals are used to refer to like elements throughout. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofthis innovation. It may be evident, however, that the innovation can bepracticed without these specific details. In other instances, well-knownstructures and components are shown in block diagram form in order tofacilitate describing the innovation.

By way of introduction, the subject matter described in this disclosurerelates to systems and methods for improving the user experience in anetwork based content consumption environment that uses in-streamadvertisements in association with provision of the content so that theuser's advertisement consumption and content consumption are lessfrequently interrupted by navigation mechanics. In particular,mechanisms are provided for enhancing the user experience with respectto consuming mandatory in-stream video and/or audio advertisementsassociated with a selected media item prior to playing the selectedmedia item. For example, a pre-roll media advertisement includesin-stream video or audio content configured to play at the beginning ofa feature media item (e.g., a selected video or audio file). When a userselects or initiates playing of a feature media item, a pre-rolladvertisement associated with the feature media will begin playing priorto playing of the feature media. Some pre-roll media advertisements areconfigured to play to completion prior to allowing the user to view afeature media item while other pre-roll media advertisements areskippable after playing for a pre-determined amount of time. Forexample, after a skippable pre-roll video advertisement is played for aperiod of N seconds (e.g., 5 seconds, 10 seconds, 15 seconds, etc.), theuser can elect to skip the remainder of the pre-roll video advertisementand move onto the feature video.

In previous media streaming systems that employ pre-roll advertisements,each time a user selects a new media item to consume or opens a selectedmedia item in different media player object or a at different source(e.g., e.g., different networked system, application or device), a newpre-roll advertisement is played. As a result, the freedom associatedwith selecting and playing new media content is taxed with increasedmandatory pre-roll advertisements. In order to alleviate this tax on theuser's media consumption experience and provide a more positive userexperience with pre-roll advertisements, the subject systems and methodsprovide for continued playing of a pre-roll advertisement that wasplaying at a time when a user selected a new media item for playing. Thesubject systems and methods also provide for continued playing of apre-roll advertisement across transitions between media players,sources, applications, and devices. The subject systems and methodscapitalize on new technologies that enable usage of the same videoplayer object from one video to the next instead of reloading the videoplayer every time the video changes.

In one embodiment, when a user is watching a pre-roll advertisement fora first selected media item and selects a second media item for watchingbefore the pre-roll advertisement is finished, the remainder of thepre-roll advertisement will continue playing before the second mediaitem begins playing. After the remainder of the pre-roll advertisementis finished, the feature video can begin playing as opposed to theplaying of a new pre-roll advertisement for the second media item. In anaspect, the pre-roll advertisement is skippable. According to thisaspect, the user can dismiss the pre-roll advertisement at a point whereit becomes skippable, regardless of the media item it is being playedbefore. For example, a user can watch a pre-roll advertisementassociated with a first feature that becomes skippable after 15 seconds.After watching the pre-roll advertisement for 5 seconds, the user canselect a new feature video for playing and the pre-roll advertisementwill continue to play in a seamless manner (e.g., at the 6 second markand onward). After 15 seconds have passes from the initial start of thepre-roll advertisement, the pre-roll advertisement can become skippable.In response to user initiated skipping of the advertisement after itbecomes skippable, the new feature video can begin playing.

In another embodiment, as a user navigates through a list of potentialmedia items to consume (e.g., watch or listen to) via a graphical userinterface (GUI), an advertisement is played in a miniature (mini) playerincluded in the GUI. When the user selects a media item to watch, theadvertisement being played in the mini player continues to play (in themini player or in a new media player) prior to playing of the selectedmedia item. In an aspect, the advertisement will play to completion andthen the selected media item can begin. In another aspect, theadvertisement can become skippable after a predetermined amount ofplaying time. According to this aspect, when the advertisement has beenplayed to a skippable point, either before or after the user selects thevideo to watch, the user can elect to dismiss the advertisement.According to this embodiment, the amount of required watch timeassociated the advertisement before it becomes skippable can bepartially (or fully) fulfilled prior to selection of a video to watch.

In another implementation, a user can initiate watching a media item ata first source or application and switch to watching the media item at asecond source or application. When the user initiates watching the mediaitem at the first source, an in-stream advertisement can begin playing(e.g., a pre-roll advertisement). When the user switches over to thesecond source or application, the in-stream advertisement that beganplaying at the first source can pick up where it left off at the secondsource or application. For example, a user can access video hosted by astreaming media provider that is located at a social networking source(or other type of source) in the form of an embedded video. In responseto access of the video at the social networking source, the video canbegin playing in the embedded player along with a pre-rolladvertisement. The user can further select a link associated with theembedded video at the social networking source that results in openingof the video at a network platform of the streaming media provider(e.g., a website platform or mobile application platform). When thevideo is opened at the streaming media provider platform, rather thanstarting the pre-roll advertisement over from the beginning or playing anew pre-roll advertisement, the initial pre-roll advertisement cancontinue playing.

In one or more aspects, a system is provided that includes anadvertisement component configured to play a pre-roll mediaadvertisement associated with a first media item prior to playing of thefirst media item, a request component configured to receive a requestplay a second media item prior to completion of the pre-roll mediaadvertisement, and a streaming component configured to initiate playingof the second media item in response to the request, wherein theadvertisement component is configured to continue to play the pre-rollmedia advertisement prior to playing of the second media item.

In another aspect, a device is provided that includes an advertisementcomponent configured to play a media advertisement in a media playerprovided within a graphical user interface generated at the device inresponse to a determination that the media player is not playing anothermedia item, wherein the graphical user interface is configured tofacilitate navigating media content while the media advertisement plays.The device further includes a request component configured to receive arequest to play a media item prior to completion of the mediaadvertisement, wherein the advertisement component is configured tocontinue to play the media advertisement prior to playing of the mediaitem at the device in response to the request.

In yet another aspect, a method is disclosed that includes receiving, bya system comprising a processor, a request to play a media item thatinitiated playing in a first media player provided at a source remotefrom the system, wherein a pre-roll-media advertisement associated withthe media item was playing in the first media player at the time therequest was received. In response to the receiving the request, themethod further includes generating, by the system, a second media playerfor playing of the media item, determining, by the system, a point towhich the pre-roll media advertisement was played at the time therequest was received, and playing, by the system, the pre-roll mediaadvertisement using the second media player starting at the point priorto playing of the media item using the second media player.

Referring now to the drawings, with reference initially to FIG. 1,presented is diagram of an example system 100 that facilitatessynchronizing advertisement playback across navigation experiences andtransitional states in accordance with various aspects and embodimentsdescribed herein. Aspects of systems, apparatuses or processes explainedin this disclosure can constitute machine-executable components embodiedwithin machine(s), e.g., embodied in one or more computer readablemediums (or media) associated with one or more machines. Suchcomponents, when executed by the one or more machines, e.g.,computer(s), computing device(s), virtual machine(s), etc. can cause themachine(s) to perform the operations described.

System 100 includes streaming media provider 102, at least one clientdevice 112 and one or more networks 116 for connecting streaming mediaprovider 102 with the at least one client device 112. Generally,streaming media provider 102 and client device 112 can include memorythat stores computer executable components and a processor that executesthe computer executable components stored in the memory, examples ofwhich can be found with reference to FIG. 11.

Streaming media provider 102 can included an entity configured toprovides to provide streaming media (e.g., video, live video,animations, audio, music etc.) to users at their respective clientdevices 112 via a network 116. The streaming media can be accessed bythe respective users via their respective client devices at a networkbased platform (e.g., a website, a mobile application) employed by thestreaming media provider. For example, streaming media provider 102 caninclude an Internet based media sharing service configured to allowusers to upload and share media content. In another example, streamingmedia provider 102 can include a social networking system configured toprovide streaming media to users in association with other socialnetworking services. In another example, streaming media provider 102can include an Internet based news source configured to providestreaming media to user in association with news articles and otherservices. In yet another example, streaming media provider 102 caninclude an Internet based music streaming service.

In an aspect, streaming media provider 102 has access to a voluminousquantity (and potentially an inexhaustible number) of shared media(e.g., video and/or audio) files for streaming to client devices 112 ondemand and/or in a live manner via streaming component 108. The mediacan be stored in memory associated with the media provider 102 and/or atvarious servers employed by the media provider and accessed by clientdevices 112 using a networked platform (e.g., a website platform, amobile application, etc.) employed by the media provider 102.

The term media content or media item can include but is not limited tostreamable media (e.g., video, live video, video advertisements,animations, music, music videos, sound files and etc.) and static media(e.g., pictures, thumbnails). The term media content or media itemincludes a collection of media items such as a playlist includingseveral videos or songs, or a channel including several videos or songsassociated with a single media creator or curator. A channel can includedata content available from a common source or data content having acommon topic or theme. A channel can be associated with a curator whocan perform management actions on the channel. Management actions mayinclude, for example, adding media items to the channel, removing mediaitems from the channel, defining subscription requirements for thechannel, defining presentation attributes for channel content, definingaccess attributes for channel content, etc. The channel content can bedigital content uploaded to the internet-based content platform by achannel curator and/or digital content selected by a channel curatorfrom the content available on the Internet-based content platform. Achannel curator can be a professional content provider (e.g., aprofessional content creator, a professional content distributor, acontent rental service, a television (TV) service, etc.) or an amateurindividual. Channel content can include professional content (e.g.,movie clips, TV clips, music videos, educational videos) and/or amateurcontent (e.g., video blogging, short original videos, etc.). Users,other than the curator of the channel, can subscribe to one or morechannels in which they are interested.

Client device 112 can include any suitable computing device associatedwith a user and configured to interact with streaming media provider102. For example, client device 112 can include a desktop computer, alaptop computer, a television, an Internet enabled television, a mobilephone, a smartphone, a tablet personal computer (PC), or a personaldigital assistant PDA. In an aspect, client device 112 can includepresentation component 114 to generate and/or display a graphical userinterface (GUI) configured by streaming media provider 102 thatfacilitates navigating media content provided by the streaming mediaprovider 102 (and/or other content provided by the streaming mediaprovider) and playing streaming media provided by streaming mediaprovider 102. For example, streaming media provider 102 can configure aGUI that includes a video player for playing streaming media contentprovided by the streaming media provider 102. The GUI can also allowusers to search for and navigate potential media items for viewing thatare provided by media provider Respective users can view, display andinteract with a GUI configured by streaming media provider 102 usingpresentation component 114 provided on their respective client devices.

In an aspect, presentation component 114 can include an application(e.g., a web browser) for retrieving, presenting and traversinginformation resources on the World Wide Web. According to this aspect,streaming media provider 102 can provide streaming media to users via awebsite platform that can be accessed using a browser provided on theirrespective client devices 112. In another aspect, streaming mediaprovider 102 can provide streaming media to users via a mobileapplication platform. According to this aspect, streaming media provider102 can embody a mobile application service provider (ASP) that isaccessed by client device 112 using a mobile application client version(not shown) associated with the streaming media provider. Presentationcomponent 114 can employ this mobile application client version of thestreaming media provider to access the application platform of thestreaming media provider and to generate/display a GUI that facilitatesnavigating and playing media content provided by the streaming mediaprovider 102.

As used in this disclosure, the terms “content consumer,” “user,” or“participant” refers to a person, entity, system, or combination thereofthat employs system 100 (or additional systems described in thisdisclosure) using a client device 112. Networks 116 can include wiredand wireless networks, including but not limited to, a cellular network,a wide area network (WAD, e.g., the Internet), a local area network(LAN), or a personal area network (PAN). For example, a client device112 can communicate with streaming media provider 102 and/or anotherclient device (and vice versa) using virtually any desired wired orwireless technology, including, for example, cellular, WAN, wirelessfidelity (Wi-Fi), Wi-Max, WLAN, and etc. In an aspect, one or morecomponents of system 100 are configured to interact via disparatenetworks.

Streaming component 108 is configured to provide streaming media to aclient device 112 via a network. In an aspect, streaming component 108can stream video or audio provided by streaming media provider 102 toclient device 112 for playing at the client device 112 (e.g., viapresentation component 114) in response to a request for the video oraudio. For example, client device 112 can access a network basedplatform (e.g., a website or mobile application platform) provided bystreaming media provider 102 and interact with the streaming mediaprovider 102 via a GUI configured by the streaming media provider 102and generated/presented by presentation component 114 that facilitatesnavigating and playing media content provided by streaming mediaprovider 102. A user of client device 112 can identify a media item(e.g., a video, a song, a playlist, etc.) provided by the streamingmedia provider 102 in a search query, a recommendation list, a catalogueetc. and request to play the media item. Request component 106 canreceive such request to play a media item provided by streaming mediaprovider. In response to a received request to play the media item,streaming component 108 can effectuate playing of the media item via amedia player included within the GUI by streaming the requested mediaitem to the client device 112 via a network 116.

In another aspect, streaming media provider 102 can automaticallyinitiate streaming and playing of a media item, provided by thestreaming media provider 102, devoid of a request provided by a user.For example, streaming media provider 102 can automatically initiateplaying of a video or audio file at client device 112 in response tovarious cues associated with user access and interaction with thestreaming media provider 102 via a GUI configured by the streaming mediaprovider 102. For example, streaming media provider 102 canautomatically initiate playing of a media item via media player includedin the GUI in response to opening of a website or webpage of thestreaming media provider 102. In another example, streaming mediaprovider 102 can automatically initiate playing of a media item via amedia player included in the GUI as a function of visibility of a mediaplayer. According to this example, as the media player becomes visible(e.g., in response to scrolling), streaming component 108 can initiatestreaming and playing of the video.

Advertisement component 104 is configured to provide mediaadvertisements in association with streaming media provided by streamingmedia provider 102. For example, advertisement component 104 can providein-stream video or audio advertisements that are configured to playbefore (e.g., pre-roll), during (e.g., mid-roll) or after (e.g.,post-roll) a media item. In another example, advertisement component 104can provide in-video display advertisements in association withstreaming videos. In-video display advertisements are configured to bedisplayed over (e.g., as an overlay) video content (usually at the lowersection of the media player) as it plays. They can include still images,animation, video and/or audio. In-video advertisements can be integratedover video content during any point of the playing of the video content.In an aspect, in-video advertisements can be closed by the viewer orwill minimize if no user action is taken within a predetermined windowof time.

In accordance with an embodiment, advertisement component 104 isparticularly configured to tailor provision of pre-roll mediaadvertisements associated with streaming media content provided bystreaming media provider 102 to facilitate a continued playback of apre-roll media advertisement that was playing at a time when a userselects a new media item for playing. In previous media streamingsystems, when a user selects a new media item for viewing while apre-roll advertisement is playing in a media player of a GUI employed bystreaming media provider 102, the pre-roll advertisement stops playingand the selected media item is loaded for playing in the media player.For example, the webpage including the video player isrefreshed/reloaded with the selected media item and the previouslyplaying pre-roll advertisement is abandoned. Often times, a new pre-rollmedia advertisement is then played prior to the playing of the selectedmedia item.

In an aspect, advertisement component 104 is configured to play apre-roll media advertisement associated with a first media item prior toplaying of the first media item. For example, advertisement component104 can play a pre-roll media advertisement before a user requestedmedia item or a media item that was configured to automatically beginplaying (e.g., in response to opening or loading of a webpage, based onvisibility of a media player, based on inclusion in a media playlist orchannel, etc.). Request component 106 is configured to receive a requestplay a second media item prior to completion of the pre-roll mediaadvertisement le of manufacture to facilitate tran. For example, whilethe pre-roll media advertisement is playing, a user can navigate throughother media items provided by streaming media provider 102 and select asecond media item to play. In response to the selection of the secondmedia item, streaming component 108 can initiate streaming/playing ofthe second media item. However, rather than stopping the pre-roll mediaadvertisement in response to the selection of the second media item,advertisement component 104 can continue playing the pre-roll mediaadvertisement before the second media item begins playing.

For example, advertisement component 104 can continue playing thepre-roll media advertisement in the same media player (or a new/reloadedvideo player) as the second media item is loaded and buffered forplaying in the media player. In an aspect, when the pre-roll mediaadvertisement has completed, streaming component 108 can beginstreaming/playing the second media item. In another aspect, the pre-rollmedia advertisement can be configured for elective dismissal afterplaying for a minimum duration (e.g., skippable). According to thisaspect, streaming component 108 can effectuate playing/streaming of thesecond media item in response to receipt an election to dismiss thepre-roll media advertisement after the playing for the minimum duration.For example, after the pre-roll media advertisement has played for atotal amount of N seconds, including the amount of time the pre-rolladvertisement was playing prior to the selection of the new media item,the pre-roll advertisement can become skippable.

In another example, advertisement component 104 can continue to play askippable pre-roll media advertisement before a new media item that waspreviously playing at a time when the new media item was selected forplaying yet discredit the amount of time the skippable pre-roll mediaadvertisement was playing as counting toward the minimum watch timebefore the pre-roll advertisement becomes skippable. In other words,advertisement component 104 can continue to play the skippable pre-rollmedia advertisement yet only consider the amount of time during whichthe skippable pre-roll media advertisement was played following theselection of the new media item as counting towards the minimum durationof watch time before the skippable pre-roll advertisement can be skippedor dismissed.

In an aspect, a new media item that was selected or requested forplaying while a first pre-roll media advertisement was playing can bepre-configured to include a pre-roll media advertisement. According tothis aspect, rather than playing another pre-roll media advertisementprior to playing the new media item, advertisement component 104 canskip or override the playing of the other pre-roll advertisement basedon receipt of the request to play the new media item prior to completionof the first pre-roll media advertisement. In other words, advertisementcomponent 104 can override or skip the playing of the other pre-rollmedia advertisement associated with the new media item based on the factthat a first pre-roll advertisement was carried over to the new mediaitem. As a result, when a user transitions from one media item toanother media item, buffer time associated with loading a new pre-rolladvertisement for playing before the other media item can be eliminated.In addition, buffer time associated with the loading the other mediaitem can occur while the previously playing pre-roll advertisementcontinues to play.

According to this embodiment, when a user is watching a pre-roll videoadvertisement for a given video and transitions to a new video beforethe pre-roll video advertisement is finished, the pre-roll videoadvertisement continues playing in the video player that will play newvideo. After the pre-roll video advertisement is complete (or skippedwhen and/if it becomes skippable) the new video will begin playing. Thisfeature is particularly beneficial to users that create and consumemedia playlists. Media playlist can include a sequence of video and/oraudio files configured to automatically play one after the other.Pre-roll advertisements are often intermixed every so often in betweenvideos or songs included in a media playlist. With the subject featuresof advertisement component 104, if a user is watching a pre-roll mediaadvertisement for a video or song in a playlist and hits “next” toadvance to the next video or song in the playlist before the pre-rolladvertisement is finished, advertisement component 104 can continue toplay the pre-roll advertisement before the next video or song beginsinstead of reloading an entirely new pre-roll advertisement and startingit from the beginning.

In another aspect of this embodiment, streaming media provider 102 canconfigure a GUI that includes a scrollable feed with different mediaitems that a user can scroll through and select for watching. Inresponse to selection of one of the media items, the media item canbegin playing in a media player included in the GUI, and prior tostreaming/playing the media item, advertisement component 104 can play apre-roll media advertisement. As the pre-roll media advertisement isplaying, the user can navigate back to the scrollable feed and select anew media item to watch. In response to selection of the new media item,streaming component 108 can initiate streaming of the new media item forplaying in the media player in which the pre-roll advertisement isplaying or a media player. However, rather than restarting thepreviously playing pre-roll media advertisement or stopping thepreviously playing pre-roll media advertisement and playing a newpre-roll media advertisement, advertisement component 104 can continueplaying/streaming the previously playing pre-roll media advertisement.

In an aspect, advertisement component can 104 partially rewind apre-roll media advertisement that was playing at the time of selectionof another media item prior to continuing to play the pre-roll mediaadvertisement before playing of the other media item. For example, as auser navigates through the feed while a pre-roll video advertisement isplaying, it can be assumed that the user is not fully engaged with thepre-roll advertisement. To account for this partial disengagement,advertisement component 104 can partially rewind the pre-rolladvertisement from a point at which it was playing at the time ofselection of a new media item before continuing to play the pre-rolladvertisement before playing of the new media item. The amount of timefor which the pre-roll advertisement is rewound can be based on theamount of time during which the user was partially disengaged. In anaspect, where the amount of rewind time exceeds a threshold amount(e.g., 50% or more of the pre-roll advertisement, 75% or more of thepre-roll advertisement, etc.), advertisement component 104 can play anew pre-roll media advertisement before the new media item rather thanrewinding and continuing to play the previously playing pre-rolladvertisement. For instance advertisement component 104 can continue toplay the previously playing pre-roll advertisement following selectionof the new media item without rewinding it and then play an additionalpre-roll media advertisement. In another example, advertisementcomponent 104 can stop playing the previously playing pre-rolladvertisement following selection of the new media item and then play anadditional pre-roll media advertisement.

In another example, as a user navigates through the feed while apre-roll video advertisement is playing the video player in which thepre-roll advertisement is playing may move off the visible area of theGUI. For example, as a user scrolls down the feed, the contents of theGUI, including the video player, can move up and eventually off of thevisible area of the GUI. According to this aspect, advertisementcomponent 104 can discredit watch time associated with the pre-rollvideo advertisement when the video player is not visible. For example,advertisement component 104 can determine a point in the pre-roll videoadvertisement where it became not visible (or partially visible) basedon navigation mechanics associated with user navigation about the GUIincluding the video player playing the pre-roll video advertisement.Advertisement component 104 can then partially rewind the pre-rolladvertisement to that point before continuing to play the pre-rolladvertisement following selection of a new media item for playing. In anaspect, where the amount of rewind time exceeds a threshold amount(e.g., 50% or more of the pre-roll advertisement, 75% or more of thepre-roll advertisement, etc.), advertisement component 104 can play anew pre-roll media advertisement before the new media item rather thanrewinding and continuing to play the previously playing pre-rolladvertisement. For instance advertisement component 104 can continue toplay the previously playing pre-roll advertisement following selectionof the new media item without rewinding it and then play an additionalpre-roll media advertisement. In another example, advertisementcomponent 104 can stop playing the previously playing pre-rolladvertisement following selection of the new media item and then play anadditional pre-roll media advertisement.

In yet another example, as a user navigates through the feed (or otherarea of the GUI) while a pre-roll video advertisement is playing, theuser may mute or decrease the volume of the pre-roll advertisement.According to this aspect, advertisement component 104 can discreditwatch or listen time associated with the pre-roll advertisement when thevolume is muted or decreased. For example, advertisement component 104can determine a point in the pre-roll advertisement where it was mutedand then partially rewind the pre-roll advertisement to that pointbefore continuing to play the pre-roll advertisement following selectionof a new media item for playing. Also according to this example, wherethe amount of rewind time exceeds a threshold amount, advertisementcomponent 104 can play a new pre-roll media advertisement before the newmedia item rather than rewinding and continuing to play the previouslyplaying pre-roll advertisement.

In another aspect of this embodiment, streaming media provider 102 canemploy a GUI that includes a plurality of embedded video playersincluded in a scrollable feed separated by other content (e.g.,messages, articles, still images, etc.). Each of these videos playerscan be configured to automatically begin playing a video in response tovisibility of the respective video players as a result of userscrolling. For example, as a user scrolls through the feed and a videoplayer becomes visible, a video associated with the video player canbegin automatically playing. Prior to playing the respective featurevideos associated with the video players, advertisement component 104can be configured to play a pre-roll media advertisement. According tothis aspect, when a first pre-roll media advertisement automaticallybegins playing in a first video player and a user continues to scrollthrough the feed to reveal a second video player while the firstpre-roll advertisement is playing, rather than stopping the firstpre-roll advertisement and starting a second pre-roll advertisement inthe second video player, advertisement component 104 can continueplaying the first pre-roll advertisement in the second video player.

Regulation component 110 is configured to identify and implementrestrictions regarding association of media advertisements with mediaitems. In particular, media items can be associated with variousrestrictions regarding features of media advertisements allowed forassociation therewith. These restrictions can related to the type orformat of media advertisement (e.g., in-stream pre-roll, in-streammid-roll, in-stream post-roll, or in video display advertisement), theduration of the media advertisement, whether and when the mediaadvertisement can be skipped, the quality of the media advertisement,and/or the content of the media advertisement. Similarly, mediaadvertisements can be associated with various restrictions regardingfeatures of media items allowed for association therewith, includingfeatures related to quality of the media items, content of the mediaitems, and/or an audience type associated with the media items.

In an aspect, regulation component 110 is configured to account fordiscrepancies associated with features of a media advertisement (e.g., apre-roll advertisement) that is carried over to a new media item andfeatures of a media advertisement allowed or preferred for associationwith the new media item. In particular, as previously described,advertisement component 104 can play a first pre-roll mediaadvertisement before a first media item. While the first pre-roll mediaadvertisement is playing, request component 106 can receive a request toplay a second media item. In an aspect, in response to the request,advertisement component 104 can continue to play the first pre-rollmedia advertisement before playing of the second media item as opposedto stopping the playing of the pre-roll media advertisement and playinga second pre-roll media advertisement before the second media item.However, in an aspect, the first media advertisement may not satisfyrestrictions for features of advertisements allowed or preferred forassociation with the second media item.

For example, the second media item may require or prefer an in-videodisplay advertisement or an in-stream post roll media advertisement asopposed to a pre-roll media advertisement. In another example, thesecond media item may require or prefer a pre-roll media advertisementhaving a different duration (e.g., longer or shorter) than the firstpre-roll advertisement. In another example, the second media item mayrequire or prefer a pre-roll media advertisement that is skippable whenthe first pre-roll media advertisement is not skippable, or vice versa.In another example, the second media item may require or prefer a mediaadvertisement that has a certain quality that is not satisfied by thefirs pre-roll media advertisement. In yet another example, the secondmedia item may require or prefer media advertisements that areassociated with a certain content type or audience type where the firstpre-roll media advertisement is not associated with the certain contentor audience type. For instance, where the second media item is achildren's video, the second media item may not allow mediaadvertisements with content targeted for adults to be shown inassociation therewith. In another example, where the second media itemis a video that is targeted for a male audience, the second media itemmay not allow media advertisements with content targeted for a femaleaudience to be associated therewith.

According to this aspect, rather than allowing an advertisement to beimposed onto a media item for which it is not suitable, regulationcomponent 110 is configured to identify discrepancies associated withfeatures of a media advertisement (e.g., a pre-roll advertisement) thatis carried over to a new media item and features of a mediaadvertisement allowed or preferred for association with the new mediaitem. Regulation component 110 can then implement various protocols toaccount for these discrepancies.

For example regulation component 110 can identify a restriction relatedto a type of a media advertisement (e.g., in-stream pre-roll, mid-roll,post-roll, in-video display, etc.) for playing in association with thesecond media item. In response to a determination that a first pre-rolladvertisement playing at the time of selection of the second media itemdoes not satisfy the restriction, regulation component 110 can implementa various protocols depending on the nature of the discrepancy. Forinstance, regulation component 110 can replace the first pre-roll mediaadvertisement with a new pre-roll media advertisement that satisfies therestriction. According to this example, regulation component 110 canselect the replacement pre-roll media advertisement based on a durationof time the first pre-roll media advertisement was watched. In anotherexample, advertisement component 104 can continue to play the firstpre-roll advertisement before the second media item and then playanother media advertisement that satisfies the restriction inassociation with playing of the second media item.

In another example, a regulation component 110 can identify arestriction related to duration of a pre-roll media advertisement forplaying in association with the second media item. In response to adetermination that the first pre-roll advertisement does not satisfy therestriction (e.g., the first pre-roll advertisement is too short),advertisement component 104 can continue to play the first pre-rollmedia advertisement before the second media item and then play anotherpre-roll media advertisement after completion of the first pre-rollmedia advertisement and prior to playing of the second media item.According to this example, the other pre-roll media advertisement can beselected based on a cumulative duration of the first pre-roll mediaadvertisement and the other pre-roll media advertisement.

In another example, a regulation component 110 can identify arestriction related to skippability (e.g., whether it can be skipped andwhen it can be skipped) of a pre-roll media advertisement for playing inassociation with the second media item. In response to a determinationthat the first pre-roll advertisement does not satisfy the restriction,regulation component 110 can modify the skippable aspects of the firstpre-roll media advertisement to satisfy the restriction. For example,where the first pre-roll media advertisement is skippable and the secondmedia item does not allow or prefer skippable pre-roll advertisements,regulation component 110 can make the first pre-roll advertisement notskippable when it is played before the second media item. Similarly,where the first pre-roll media advertisement is not skippable and thesecond media item requires or prefers skippable pre-roll advertisements,regulation component 110 can make the first pre-roll advertisementskippable when it is played before the second media item. In otheraspects, regulation component 110 can modify a minimum duration of watchtime before a first pre-roll media advertisement become skippable. Forexample, where the first pre-roll media advertisement is skippable after5 seconds and the second media item requires or prefers pre-rolladvertisements that are skippable after 15 seconds, regulation component110 can make the first pre-roll advertisement skippable after 15 secondsas opposed to 5 seconds when it is played before the second media item.

In yet another example, a regulation component 110 can identify arestriction related to content or audience type of a pre-roll mediaadvertisement for playing in association with the second media item. Inresponse to a determination that the first pre-roll advertisement doesnot satisfy the restriction, regulation component 110 can replace thefirst pre-roll media advertisement with a new pre-roll mediaadvertisement (or other type of advertisement) that satisfies therestriction.

In another aspect, regulation component 110 is configured to identifydiscrepancies associated with features of a media item to which apreviously playing media advertisement will be carried over (e.g., amedia item selected for playing while the media advertisement wasplaying), and features of media items allowed or preferred forassociation with the media advertisement. For example, regulationcomponent 110 can determine that the previously playing mediaadvertisement is only allowed or preferred for association with mediaitems having a particular quality, associated with a particular contenttype or rating, and/or associated with a particular audience. Inresponse to a determination that the media item does not satisfy arestriction associated with the previously playing media advertisement,regulation component 110 can block advertisement component 104 fromcontinuing to play the previously playing advertisement before the mediaitem.

FIGS. 2-3 respectively present example graphical user interfaces 200 and300 configured by streaming media provider 102 that facilitate viewingstreaming media in association with in-stream advertisements. Combinedinterfaces 200 and 300 visually demonstrate continuous playing of apre-roll media advertisement that was playing within a video player of aGUI at the time a new video was selected and loaded for playing in thevideo player (or a new video player object associated with arefreshed/reloaded HTML page). In particular, interface 200 depicts afirst GUI generated in response to user selection of a first media itemfor viewing and interface 300 depicts a second GUI generated in responseto user selection of a second media item for viewing from a feedprovided in the first GUI while a pre-roll video advertisement wasplaying in the first GUI.

With reference to FIG. 2, interface 200 includes a video player 204 thatis currently playing a skippable pre-roll video advertisement for “DanceAmerica” by NBC, as noted in the upper left hand corner of the videoplayer. The advertisement is 30 seconds long and has 29 seconds ofplaying time remaining, as indicated by the time counter 206 in thelower left hand corner of the video player, (e.g., the advertisement hasplayed for 1 second). The advertisement is skippable after 5 seconds ofplaying time. An icon 208 is displayed in the lower right hand corner ofthe video player indicating the amount of time remaining before theadvertisement can be skipped.

The pre-roll advertisement currently playing in the video player 204 isconfigured to play in response to selection of a media item. After thepre-roll advertisement has completed playing or is skipped, the selectedmedia item will begin playing. In particular, the selected media itemthat is configured to begin playing following completion or skipping ofthe pre-roll advertisement is entitled “Play it Over” by Amy Andrews. Asseen in section 210 of the video player, a time clock is depicted thatindicates the amount of time played out of the total duration of thevideo is 0:00/3:25. In an aspect, a user selected the video “Play itOver” by entering the title into a search query 202 of the GUI. Section212 of interface 200 can include various information about the selectedvideo.

Section 214 of interface 200 includes a feed of other possible mediaitems that the user may select for playing. For example, section 214 caninclude a list of recommended media items, or a list of media itemsrelated to the selected video “Play it Over.” A cursor 216 is locatedover one of the media items entitled “All for Me,” also by Amy Andrews.

FIG. 3 depicts another interface 300 generated in response to selectionof the media item entitled “All for Me” from section 214 of interface200 prior to completion of the playing of the pre-roll mediaadvertisement for “Dance America.” In particular, interface 300 wasgenerated in response to selection of the media item “All for Me” fromsection 214 of interface 200 when the pre-roll advertisement had 29-24seconds remaining of playing time (e.g., when the pre-roll advertisementwas played between 1-6 seconds). For example, as seen in the upper righthand corner of the video player of interface 300, the pre-rolladvertisement playing in the video player is for “Dance America,” thesame pre-roll advertisement that was playing in the video player ofinterface 200. In interface 300, the pre-roll advertisement now has 24seconds remaining, as indicated by the time counter 302 in the lowerleft hand corner of the video player, (e.g., the advertisement has nowplayed for 6 second) and the video image data for the pre-rolladvertisement has changed as the video has progressed.

The selected video “All for Me” has now been loaded for playing in thevideo player 204 following completion of the pre-roll advertisement orskipping of the pre-roll advertisement as opposed to the video “Play itOver.” For example, the information in section 212 has been updated withinformation for “All for Me” as opposed to the previously selected video“Play it Over.” In addition, as seen in section 306 of the video player,a time clock is depicted that indicates the amount of time played out ofthe total duration of the upcoming video “All for Me” is 0:00/3:48.Further, a skip advertisement icon 304 has been generated in the lowerright hand corner of the video player because the pre-roll advertisementhas now played for the minimum amount of time of 5 seconds. At thispoint, the user can either continue watching the pre-roll advertisementor select the skip advertisement icon 304 to begin playing the video“All for Me.”

FIG. 4 presents another example system 400 that facilitatessynchronizing advertisement playback across navigation experiences andtransitional states in accordance with various aspects and embodimentsdescribed herein. System 400 can include same or similar features andfunctionalities as system 100. Repetitive description of like elementsemployed in respective embodiments of systems and components describedherein are omitted for sake of brevity.

System 400 particularly demonstrates an architecture wherein a clientdevice 112 includes a client version of streaming media provider 102,streaming media provider application 402, to facilitate aspects ofstreaming media provider 102 in accordance with a mobile operatingsystem of the client device 112. According to this embodiment, clientdevice 402 can include a mobile device, such as a smartphone, a tabletPC, and the like and streaming media provider can operate in accordancewith a mobile application service provider.

Streaming media provider application 402 can include advertisementcomponent 404, request component 406 and regulation component 408. Thesecomponents can provide same or similar features and functionalities ofadvertisement component 104, request component 106 and regulationcomponent 110 discussed with respect to FIG. 1. For example,advertisement component 404 can be configured to play a pre-roll mediaadvertisement (streamed/provided to client 112 by streaming mediaprovider 102 via a network 106) that is associated with a first mediaitem prior to playing of the first media item. Request component 406 canbe configured to receive a request to play a second media item prior tocompletion of the pre-roll media advertisement. Request component canrelay this request to streaming media provider 102 which in turn caninitiate streaming of the second media item to client 112. However,prior to playing the second media item, advertisement component 404 cancontinue to play the pre-roll media advertisement.

In addition, streaming media provider application 402 can generate andemploy a feature referred to herein as a “mini player” to facilitateproviding media advertisements. In particular, streaming media providerapplication 402 can generate a GUI that includes a mini media player andfacilitates navigating media content provided by streaming mediaprovider 102. Presentation component 114 can display the GUI via displayscreen of the device 112.

In an aspect, the mini player is configured to take up a relativelysmall area of the GUI and allow a user to play a video within the miniplayer and continue to browse other features of the GUI. For example,the mini media player can be provided within a window that is configuredto float over or overlay other features the GUI. For example, the GUIcan include a menu or scrollable feed of media items that are availablefor selection and the mini player can float over the media items in alower right hand corner of the display screen. In an aspect, the miniplayer can be resized, moved around, minimized and/or maximized. Themini player is configured to remain visible as features of the graphicaluser interface change or move in response to user navigation about theGUI. For example, as a user scrolls about a feed of media items orselects different features and menus of the GUI, the mini player canremain in the forefront of the GUI and continue playing a media itemthat was playing therein. As a result, a user can play a video withinthe mini player and continue to navigate other aspects of the GUIwithout having to pause the video.

In an aspect, advertisement component 404 is configured to employ themini player to play an advertisement when the mini player is nototherwise being used to play a media item. For example, advertisementcomponent 404 can determine that the mini player is not playing a userrequested video and begin playing an advertisement within the miniplayer. According to this aspect, when a user selects a video to watchwhile an advertisement is being played in the mini player, rather thanloading a new pre-roll advertisement and playing it from the beginningin association with the new video, advertisement component 404 cancontinue to play the advertisement that was previously playing in themini player. Advertisement component 404 can continue playing theadvertisement in the mini player or a primary (e.g., larger) mediaplayer generated in response to the selection of the media item in whichthe selected media item will be played.

In an aspect, when the advertisement is finished, streaming mediaprovider application 402 can then play the selected video (e.g., in themini player or the other player). In another aspect, the advertisementcan be skippable after playing for a minimum duration. According to thisaspect, after the advertisement has played for the minimum durationincluding the amount of time it was played prior to the selection of themedia item, it can become skippable. In another aspect, advertisementcomponent 404 can cause the advertisement to become skippable after theadvertisement has played for the minimum duration excluding the amountof time it was played prior to the selection of the media item.

It should be appreciated that the various aspects of streaming mediaprovider application 402 can be extended to streaming media provider 102and vice versa. For example, streaming media provider 102 can configurea GUI that includes and employs a mini player in the manner described inassociation with streaming media provider application 402.

FIGS. 5-6 respectively present example graphical user interfaces 500 and600 configured by streaming media provider 102 and/or streaming mediaprovider application 402 that facilitate viewing streaming media inassociation with in-stream advertisements provided in a mini player.Combined interfaces 500 and 600 visually demonstrate continuous playingof a pre-roll media advertisement that was playing within a first videoplayer of a GUI (e.g., a mini player) at the time a new video wasselected and loaded for playing in a primary video player. Inparticular, interface 500 depicts a first GUI that includes a videoadvertisement playing in a mini-player and interface 600 depicts asecond GUI generated in response to user selection of a second mediaitem for viewing from a feed provided in the first GUI while the videoadvertisement was playing in the mini player.

With reference to FIG. 5, interface 500 includes a scrollable feed 502with a plurality of different media items available for selection andviewing. The respective media items each include thumbnail imagesrepresenting the respective media items and general informationdescribing the respective media items. Interface 500 also include a miniplayer 506 in the lower right hand corner that is currently playing avideo advertisement for “Dance America” by NBC, as noted at the top thevideo player. The advertisement is 30 seconds long and has 29 seconds ofplaying time remaining, as indicated by the time counter in the lowerleft hand corner of the video player, (e.g., the advertisement hasplayed for 1 second). In an aspect, the mini player 506 began playingthe advertisement for “Dance America” in response to a determinationthat the mini player was not otherwise playing a media item. In anotheraspect, the mini player 506 began playing the advertisement for “DanceAmerica” in response to selection of a media item for playing in themini player.

The mini player 506 is configured to remain visible and play theadvertisement as a user navigates the scrollable feed 502. For example,the mini player can float or hover over other aspects and icons ofinterface 500 as they change and/or move. In an aspect, the mini playercan be moved around and resized to the user's liking. A selection box504 is formed around one of the media items in the feed entitled “Allfor Me” by Amy Andrews.

FIG. 6 depicts an interface 600 generated in response to selection ofthe media item entitled “All for Me” from feed 502 of interface 500prior to completion of the playing of the media advertisement for “DanceAmerica” in the mini player 506. In particular, interface 600 wasgenerated in response to selection of the media item “All for Me” fromfeed 502 of interface 500 when the media advertisement had 29-24 secondsremaining of playing time (e.g., when the advertisement was playedbetween 1-6 seconds). In response to selection of the video “All for Me”from feed 502 of interface 500, a primary media player 602 is generatedand the video “All for Me” is loaded for playing in the primary mediaplayer. For example, section 606 includes information regarding theselected video “All for Me.” However, as seen by time clock 604 withinthe video player 602, the video “All for Me” has not yet begun playing(e.g., time clock 604 indicates the amount of time played out of thetotal duration of the upcoming video “All for Me” is 0:00/3:48).

On the contrary, because the video “All for Me” was selected ininterface 500 before the advertisement playing in the mini player ofinterface 500 was complete, the advertisement is carried over forcontinued playing in the primary media player 602 of interface 600(e.g., as opposed to restarting the advertising process and stopping theadvertisement playing in the mini player or). In an aspect, because thevideo “All for Me” was selected in interface 500 before theadvertisement playing in the mini player of interface 500 was complete,another advertisement is not loaded for playing before the selectedvideo “All for Me.” For example, after the advertisement for “DanceAmerica” completes playing in the primary media player 602, the video“All for Me” can begin playing.

FIG. 7 presents another example system 700 that facilitatessynchronizing advertisement playback across navigation experiences andtransitional states in accordance with various aspects and embodimentsdescribed herein. System 700 can include same or similar features andfunctionalities as system 400. Repetitive description of like elementsemployed in respective embodiments of systems and components describedherein are omitted for sake of brevity.

System 700 provides an example architecture that facilitate continuedplayback of a media advertisement that was playing at a time when a usertransitions to a new application, device or webpage. In an aspect, withsystem 700 streaming media provider 102 can effectuate continuedplayback of a media advertisement at the streaming media provider'snetwork platform (e.g., website or mobile application) when playing ofthe media advertisement was initiated at an external source 702 inassociation with a media item, provided by streaming media provider 102,that was transferred for playing at the streaming media provider 102.For example, the external source 702 can include a remote networkingsystem or remote device. Similarly, system 700 provides an examplearchitecture wherein streaming media provider application 402 caneffectuate continued playback of a media advertisement associated with amedia item provided by streaming media provider 102 when playing of themedia advertisement was initiated at or by another application inassociation with the media item and transferred to streaming mediaprovider application 402. For example, the other application 704 caninclude a messaging application or other type of application configuredto render embedded media players configured to play media items withpre-roll advertisements hosted by streaming media provider 102 andincluding links to open the media items using streaming media providerapplication 402.

According to this embodiment, a user can begin watching a media item,provided by media provider that is located at an external source 702 orother application 706, (wherein the other application is serviced by anexternal ASP 704). For example, the external source 702 or application706 can include an embedded video player configured to play the mediaitem at the external source or application 706, respectively. The mediaitem can further be associated with a link to the media item configuredto open the media item a website platform or mobile application platformprovided by streaming media provider 102. The user can further selectthe link to open and watch the media item at the website platform ormobile application platform of the streaming media provider 102 asopposed to the external source 702 or application 706. Prior to playingof the media item at the external source or application, a pre-rolladvertisement can be configured to begin playing at the external source702 or application 706 within the embedded video player.

When the user selects the link prior to completion of the pre-rolladvertisement, rather than restarting the pre-roll advertising processwhen the media item is opened at the steaming media provider website ormobile application platform, advertisement component 104 or 404 cancontinue playing the pre-roll advertisement where it left off when thelink was selected. When the pre-roll advertisement is completed orskipped, the media item can then begin playing. According to thisaspect, the external source 702 or application 706 can pass along atoken with a request to open the media item at the streaming mediaprovider platform that identifies the pre-roll media advertisement and atime stamp identifying the point to which the pre-roll mediaadvertisement was played at the time the request was initiated.Advertisement component 104 or 404 can then employ this token to beginplaying the media advertisement at or near this point when the mediaitem is opened at the streaming media provider website.

In view of the example systems and/or devices described herein, examplemethods that can be implemented in accordance with the disclosed subjectmatter can be further appreciated with reference to flowcharts in FIGS.8-9. For purposes of simplicity of explanation, example methodsdisclosed herein are presented and described as a series of acts;however, it is to be understood and appreciated that the disclosedsubject matter is not limited by the order of acts, as some acts mayoccur in different orders and/or concurrently with other acts from thatshown and described herein. For example, a method disclosed herein couldalternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, interaction diagram(s) mayrepresent methods in accordance with the disclosed subject matter whendisparate entities enact disparate portions of the methods. Furthermore,not all illustrated acts may be required to implement a method inaccordance with the subject specification. It should be furtherappreciated that the methods disclosed throughout the subjectspecification are capable of being stored on an article of manufactureto facilitate transporting and transferring such methods to computersfor execution by a processor or for storage in a memory.

FIG. 8 illustrates a flow chart of an example method 800 forsynchronizing advertisement playback across navigation experiences andtransitional states in accordance with various aspects and embodimentsdescribed herein. At 802, a pre-roll media advertisement associated witha first media item is played prior to playing of the first media item(e.g., via streaming media provider 102). At 804, a request to play asecond media item is received (e.g., via request component 106) prior tocompletion of the pre-roll media advertisement. At 806, playing of thesecond media item is initiated in response to the request (e.g., viastreaming component 110). At 808, playing of the pre-roll mediaadvertisement is continued prior to the playing of the second media item(e.g., via advertisement component 104).

FIG. 9 illustrates a flow chart of another example method 900 forsynchronizing advertisement playback across navigation experiences andtransitional states in accordance with various aspects and embodimentsdescribed herein. At 902, a device (e.g., device 112) plays a mediaadvertisement in a media player provided within a graphical userinterface generated at the device in response to a determination thatthe media player is not playing another media item, wherein thegraphical user interface is configured to facilitate navigating mediacontent while the media advertisement plays. At 904, a request to play amedia item prior to completion of the media advertisement is received(e.g., via request component 406). At 904, the playing of the mediaadvertisement is continued prior to playing of the media item at thedevice in response to the request, wherein the media item is associatedwith a pre-roll media advertisement. At 906, playing of the pre-rollmedia advertisement is skipped (e.g., via advertisement component 404)based on receipt of the request prior to completion of the mediaadvertisement.

FIG. 10 illustrates a flow chart of another example method 1000 forsynchronizing advertisement playback across navigation experiences andtransitional states in accordance with various aspects and embodimentsdescribed herein. At 1002, a system comprising a processor (e.g.,streaming media provider 102 or streaming media provider application402) receives a request to play a media item that initiated playing in afirst media player provided at a source remote from the system, whereina pre-roll-media advertisement associated with the media item wasplaying in the first media player at the time the request was received.At 1004, the system generates a second media player for playing of themedia item. At 1006, the system determines a point to which the pre-rollmedia advertisement was played at the time the request was received. At1008, the system then plays the pre-roll media advertisement using thesecond media player starting at the point, prior to playing of the mediaitem using the second media player.

Example Operating Environments

The systems and processes described below can be embodied withinhardware, such as a single integrated circuit (IC) chip, multiple ICs,an application specific integrated circuit (ASIC), or the like. Further,the order in which some or all of the process blocks appear in eachprocess should not be deemed limiting. Rather, it should be understoodthat some of the process blocks can be executed in a variety of orders,not all of which may be explicitly illustrated in this disclosure.

With reference to FIG. 11, a suitable environment 1100 for implementingvarious aspects of the claimed subject matter includes a computer 1102.The computer 1102 includes a processing unit 1104, a system memory 1106,a codec 1105, and a system bus 1108. The system bus 1108 couples systemcomponents including, but not limited to, the system memory 1106 to theprocessing unit 1104. The processing unit 1104 can be any of variousavailable processors. Dual microprocessors and other multiprocessorarchitectures also can be employed as the processing unit 1104.

The system bus 1108 can be any of several types of bus structure(s)including the memory bus or memory controller, a peripheral bus orexternal bus, and/or a local bus using any variety of available busarchitectures including, but not limited to, Industrial StandardArchitecture (ISA), Micro-Channel Architecture (MSA), Extended ISA(EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB),Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus(USB), Advanced Graphics Port (AGP), Personal Computer Memory CardInternational Association bus (PCMCIA), Firewire (IEEE 13114), and SmallComputer Systems Interface (SCSI).

The system memory 1106 includes volatile memory 1110 and non-volatilememory 1112. The basic input/output system (BIOS), containing the basicroutines to transfer information between elements within the computer1102, such as during start-up, is stored in non-volatile memory 1112. Inaddition, according to present innovations, codec 1105 may include atleast one of an encoder or decoder, wherein the at least one of anencoder or decoder may consist of hardware, a combination of hardwareand software, or software. Although, codec 1105 is depicted as aseparate component, codec 1105 may be contained within non-volatilememory 1112. By way of illustration, and not limitation, non-volatilememory 1112 can include read only memory (ROM), programmable ROM (PROM),electrically programmable ROM (EPROM), electrically erasableprogrammable ROM (EEPROM), or flash memory. Volatile memory 1110includes random access memory (RAM), which acts as external cachememory. According to present aspects, the volatile memory may store thewrite operation retry logic (not shown in FIG. 11) and the like. By wayof illustration and not limitation, RAM is available in many forms suchas static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM),double data rate SDRAM (DDR SDRAM), and enhanced SDRAM (ESDRAM.

Computer 1102 may also include removable/non-removable,volatile/non-volatile computer storage medium. FIG. 11 illustrates, forexample, disk storage 1114. Disk storage 1114 includes, but is notlimited to, devices like a magnetic disk drive, solid state disk (SSD)floppy disk drive, tape drive, Jaz drive, Zip drive, LS-70 drive, flashmemory card, or memory stick. In addition, disk storage 1114 can includestorage medium separately or in combination with other storage mediumincluding, but not limited to, an optical disk drive such as a compactdisk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CDrewritable drive (CD-RW Drive) or a digital versatile disk ROM drive(DVD-ROM). To facilitate connection of the disk storage devices 1114 tothe system bus 1108, a removable or non-removable interface is typicallyused, such as interface 1116.

It is to be appreciated that FIG. 11 describes software that acts as anintermediary between users and the basic computer resources described inthe suitable operating environment 1100. Such software includes anoperating system 1118. Operating system 1118, which can be stored ondisk storage 1114, acts to control and allocate resources of thecomputer system 1102. Applications 1120 take advantage of the managementof resources by operating system 1118 through program modules 1124, andprogram data 1126, such as the boot/shutdown transaction table and thelike, stored either in system memory 1106 or on disk storage 1114. It isto be appreciated that the claimed subject matter can be implementedwith various operating systems or combinations of operating systems.

A user enters commands or information into the computer 1102 throughinput device(s) 1128. Input devices 1128 include, but are not limitedto, a pointing device such as a mouse, trackball, stylus, touch pad,keyboard, microphone, joystick, game pad, satellite dish, scanner, TVtuner card, digital camera, digital video camera, web camera, and thelike. These and other input devices connect to the processing unit 1104through the system bus 1108 via interface port(s) 1130. Interfaceport(s) 1130 include, for example, a serial port, a parallel port, agame port, and a universal serial bus (USB). Output device(s) 1136 usesome of the same type of ports as input device(s). Thus, for example, aUSB port may be used to provide input to computer 1102, and to outputinformation from computer 1102 to an output device 1136. Output adapter1134 is provided to illustrate that there are some output devices 1136like monitors, speakers, and printers, among other output devices 1136,which require special adapters. The output adapters 1134 include, by wayof illustration and not limitation, video and sound cards that provide ameans of connection between the output device 1136 and the system bus1108. It should be noted that other devices and/or systems of devicesprovide both input and output capabilities such as remote computer(s)1138.

Computer 1102 can operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer(s)1138. The remote computer(s) 1138 can be a personal computer, a server,a router, a network PC, a workstation, a microprocessor based appliance,a peer device, a smart phone, a tablet, or other network node, andtypically includes many of the elements described relative to computer1102. For purposes of brevity, only a memory storage device 1140 isillustrated with remote computer(s) 1138. Remote computer(s) 1138 islogically connected to computer 1102 through a network interface 1142and then connected via communication connection(s) 1144. Networkinterface 1142 encompasses wire and/or wireless communication networkssuch as local-area networks (LAN) and wide-area networks (WAN) andcellular networks. LAN technologies include Fiber Distributed DataInterface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet,Token Ring and the like. WAN technologies include, but are not limitedto, point-to-point links, circuit switching networks like IntegratedServices Digital Networks (ISDN) and variations thereon, packetswitching networks, and Digital Subscriber Lines (DSL).

Communication connection(s) 1144 refers to the hardware/softwareemployed to connect the network interface 1142 to the bus 1108. Whilecommunication connection 1144 is shown for illustrative clarity insidecomputer 1102, it can also be external to computer 1102. Thehardware/software necessary for connection to the network interface 1142includes, for exemplary purposes only, internal and externaltechnologies such as, modems including regular telephone grade modems,cable modems and DSL modems, ISDN adapters, and wired and wirelessEthernet cards, hubs, and routers.

Referring now to FIG. 12, there is illustrated a schematic block diagramof a computing environment 1200 in accordance with this disclosure. Thesystem 1200 includes one or more client(s) 1202 (e.g., laptops, smartphones, PDAs, media players, computers, portable electronic devices,tablets, and the like). The client(s) 1202 can be hardware and/orsoftware (e.g., threads, processes, computing devices). The system 1200also includes one or more server(s) 1204. The server(s) 1204 can also behardware or hardware in combination with software (e.g., threads,processes, computing devices). The servers 1204 can house threads toperform transformations by employing aspects of this disclosure, forexample. One possible communication between a client 1202 and a server1204 can be in the form of a data packet transmitted between two or morecomputer processes wherein the data packet may include video data. Thedata packet can include a metadata, e.g., associated contextualinformation, for example. The system 1200 includes a communicationframework 1206 (e.g., a global communication network such as theInternet, or mobile network(s)) that can be employed to facilitatecommunications between the client(s) 1202 and the server(s) 1204.

Communications can be facilitated via a wired (including optical fiber)and/or wireless technology. The client(s) 1202 include or areoperatively connected to one or more client data store(s) 1208 that canbe employed to store information local to the client(s) 1202 (e.g.,associated contextual information). Similarly, the server(s) 1204 areoperatively include or are operatively connected to one or more serverdata store(s) 1210 that can be employed to store information local tothe servers 1204.

In one embodiment, a client 1202 can transfer an encoded file, inaccordance with the disclosed subject matter, to server 1204. Server1204 can store the file, decode the file, or transmit the file toanother client 1202. It is to be appreciated, that a client 1202 canalso transfer uncompressed file to a server 1204 and server 1204 cancompress the file in accordance with the disclosed subject matter.Likewise, server 1204 can encode video information and transmit theinformation via communication framework 1206 to one or more clients1202.

The illustrated aspects of the disclosure may also be practiced indistributed computing environments where certain tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, program modules can belocated in both local and remote memory storage devices.

Moreover, it is to be appreciated that various components described inthis description can include electrical circuit(s) that can includecomponents and circuitry elements of suitable value in order toimplement the embodiments of the subject innovation(s). Furthermore, itcan be appreciated that many of the various components can beimplemented on one or more integrated circuit (IC) chips. For example,in one embodiment, a set of components can be implemented in a single ICchip. In other embodiments, one or more of respective components arefabricated or implemented on separate IC chips.

What has been described above includes examples of the embodiments ofthe present invention. It is, of course, not possible to describe everyconceivable combination of components or methodologies for purposes ofdescribing the claimed subject matter, but it is to be appreciated thatmany further combinations and permutations of the subject innovation arepossible. Accordingly, the claimed subject matter is intended to embraceall such alterations, modifications, and variations that fall within thespirit and scope of the appended claims. Moreover, the above descriptionof illustrated embodiments of the subject disclosure, including what isdescribed in the Abstract, is not intended to be exhaustive or to limitthe disclosed embodiments to the precise forms disclosed. While specificembodiments and examples are described in this disclosure forillustrative purposes, various modifications are possible that areconsidered within the scope of such embodiments and examples, as thoseskilled in the relevant art can recognize.

In particular and in regard to the various functions performed by theabove described components, devices, circuits, systems and the like, theterms used to describe such components are intended to correspond,unless otherwise indicated, to any component which performs thespecified function of the described component (e.g., a functionalequivalent), even though not structurally equivalent to the disclosedstructure, which performs the function in the disclosure illustratedexemplary aspects of the claimed subject matter. In this regard, it willalso be recognized that the innovation includes a system as well as acomputer-readable storage medium having computer-executable instructionsfor performing the acts and/or events of the various methods of theclaimed subject matter.

The aforementioned systems/circuits/modules have been described withrespect to interaction between several components/blocks. It can beappreciated that such systems/circuits and components/blocks can includethose components or specified sub-components, some of the specifiedcomponents or sub-components, and/or additional components, andaccording to various permutations and combinations of the foregoing.Sub-components can also be implemented as components communicativelycoupled to other components rather than included within parentcomponents (hierarchical). Additionally, it should be noted that one ormore components may be combined into a single component providingaggregate functionality or divided into several separate sub-components,and any one or more middle layers, such as a management layer, may beprovided to communicatively couple to such sub-components in order toprovide integrated functionality. Any components described in thisdisclosure may also interact with one or more other components notspecifically described in this disclosure but known by those of skill inthe art.

In addition, while a particular feature of the subject innovation mayhave been disclosed with respect to only one of several implementations,such feature may be combined with one or more other features of theother implementations as may be desired and advantageous for any givenor particular application. Furthermore, to the extent that the terms“includes,” “including,” “has,” “contains,” variants thereof, and othersimilar words are used in either the detailed description or the claims,these terms are intended to be inclusive in a manner similar to the term“comprising” as an open transition word without precluding anyadditional or other elements.

As used in this application, the terms “component,” “module,” “system,”or the like are generally intended to refer to a computer-relatedentity, either hardware (e.g., a circuit), a combination of hardware andsoftware, software, or an entity related to an operational machine withone or more specific functionalities. For example, a component may be,but is not limited to being, a process running on a processor (e.g.,digital signal processor), a processor, an object, an executable, athread of execution, a program, and/or a computer. By way ofillustration, both an application running on a controller and thecontroller can be a component. One or more components may reside withina process and/or thread of execution and a component may be localized onone computer and/or distributed between two or more computers. Further,a “device” can come in the form of specially designed hardware;generalized hardware made specialized by the execution of softwarethereon that enables the hardware to perform specific function; softwarestored on a computer readable storage medium; software transmitted on acomputer readable transmission medium; or a combination thereof.

Moreover, the words “example” or “exemplary” are used in this disclosureto mean serving as an example, instance, or illustration. Any aspect ordesign described in this disclosure as “exemplary” is not necessarily tobe construed as preferred or advantageous over other aspects or designs.Rather, use of the words “example” or “exemplary” is intended to presentconcepts in a concrete fashion. As used in this application, the term“or” is intended to mean an inclusive “or” rather than an exclusive“or”. That is, unless specified otherwise, or clear from context, “Xemploys A or B” is intended to mean any of the natural inclusivepermutations. That is, if X employs A; X employs B; or X employs both Aand B, then “X employs A or B” is satisfied under any of the foregoinginstances. In addition, the articles “a” and “an” as used in thisapplication and the appended claims should generally be construed tomean “one or more” unless specified otherwise or clear from context tobe directed to a singular form.

Computing devices typically include a variety of media, which caninclude computer-readable storage media and/or communications media, inwhich these two terms are used in this description differently from oneanother as follows. Computer-readable storage media can be any availablestorage media that can be accessed by the computer, is typically of anon-transitory nature, and can include both volatile and nonvolatilemedia, removable and non-removable media. By way of example, and notlimitation, computer-readable storage media can be implemented inconnection with any method or technology for storage of information suchas computer-readable instructions, program modules, structured data, orunstructured data. Computer-readable storage media can include, but arenot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disk (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or other tangible and/or non-transitorymedia which can be used to store desired information. Computer-readablestorage media can be accessed by one or more local or remote computingdevices, e.g., via access requests, queries or other data retrievalprotocols, for a variety of operations with respect to the informationstored by the medium.

On the other hand, communications media typically embodycomputer-readable instructions, data structures, program modules orother structured or unstructured data in a data signal that can betransitory such as a modulated data signal, e.g., a carrier wave orother transport mechanism, and includes any information delivery ortransport media. The term “modulated data signal” or signals refers to asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in one or more signals. By way ofexample, and not limitation, communication media include wired media,such as a wired network or direct-wired connection, and wireless mediasuch as acoustic, RF, infrared and other wireless media.

In view of the exemplary systems described above, methodologies that maybe implemented in accordance with the described subject matter will bebetter appreciated with reference to the flowcharts of the variousfigures. For simplicity of explanation, the methodologies are depictedand described as a series of acts. However, acts in accordance with thisdisclosure can occur in various orders and/or concurrently, and withother acts not presented and described in this disclosure. Furthermore,not all illustrated acts may be required to implement the methodologiesin accordance with certain aspects of this disclosure. In addition,those skilled in the art will understand and appreciate that themethodologies could alternatively be represented as a series ofinterrelated states via a state diagram or events. Additionally, itshould be appreciated that the methodologies disclosed in thisdisclosure are capable of being stored on an article of manufacture tofacilitate transporting and transferring such methodologies to computingdevices. The term article of manufacture, as used in this disclosure, isintended to encompass a computer program accessible from anycomputer-readable device or storage media.

What is claimed is:
 1. A system, comprising: a memory device that storescomputer executable instructions; and at least one processor thatexecutes the computer executable instructions stored in the memory whichcauses the at least one processor to: receive, from a client device, arequest for a first media item; in response to the request for the firstmedia item, cause a pre-roll media advertisement to be sent to theclient device prior to the playback of the first media item; cause theclient device to play the pre-roll media advertisement using a mediaplayer provided within a graphical user interface displayed by theclient device; in response to the request for the first media item,cause transmission of the first media item to the client device to beginduring playback of the pre-roll media advertisement which causes theclient device to buffer at least a portion of the first media itemduring playback of the pre-roll media advertisement; receive, from theclient device, a request for a second media item prior to completion ofthe pre-roll media advertisement; in response to the request for thesecond media item, cause transmission of the second media item to theclient device to begin during playback of the pre-roll mediaadvertisement which causes the client device to buffer at least aportion of the second media item during playback of the pre-roll mediaadvertisement; and cause the client device to play the second media itemupon completion of the pre-roll advertisement.
 2. The system of claim 1,wherein a second pre-roll media advertisement is associated with thesecond media item and wherein the computer executable instructionsfurther cause the at least one processor to skip transmission of thesecond pre-roll media advertisement prior to the playing of the secondmedia item by the client device based on receipt of the request to playthe second media item being received prior to the completion of thepre-roll media advertisement.
 3. The system of claim 1, wherein thecomputer executable instructions further cause the at least oneprocessor to cause the client device to continue playback of thepre-roll media advertisement to completion prior to the playing of thesecond media item.
 4. The system of claim 1, wherein the computerexecutable instructions further cause the at least one processor tocause the client device to: determine that at least a threshold amountof the pre-roll advertisement has been played back; receive a request todismiss the pre-roll media advertisement; and in response to the requestto dismiss the pre-roll advertisement, cause the client device to playthe second media item.
 5. The system of claim 1, wherein the computerexecutable instructions further cause the at least one processor topartially rewind the pre-roll media advertisement in response toreceiving the request to play the second media item prior to the clientdevice continuing to play the pre-roll media advertisement prior to theplaying of the second media item.
 6. The system of claim 1, wherein themedia player is presented in a first portion of the graphical userinterface, and wherein the pre-roll media advertisement is played in asecond media player that is presented in a second portion of thegraphical user interface in response to the request for the second mediaitem.
 7. A method, comprising: receiving, from a client device, arequest for a first media item; in response to the request for the firstmedia item, causing a pre-roll media advertisement to be sent to theclient device prior to the playback of the first media item; causing theclient device to play the pre-roll media advertisement using a mediaplayer provided within a graphical user interface displayed by theclient device; in response to the request for the first media item,causing transmission of the first media item to the client device tobegin during playback of the pre-roll media advertisement which causesthe client device to buffer at least a portion of the first media itemduring playback of the pre-roll media advertisement; receiving, from theclient device, a request for a second media item prior to completion ofthe pre-roll media advertisement; in response to the request for thesecond media item, causing transmission of the second media item to theclient device to begin during playback of the pre-roll mediaadvertisement which causes the client device to buffer at least aportion of the second media item during playback of the pre-roll mediaadvertisement; and causing the client device to play the second mediaitem upon completion of the pre-roll advertisement.
 8. The method ofclaim 7, wherein a second pre-roll media advertisement is associatedwith the second media item and wherein the method further comprisesskipping transmission of the second pre-roll media advertisement priorto the playing of the second media item by the client device based onreceipt of the request to play the second media item being receivedprior to the completion of the pre-roll media advertisement.
 9. Themethod of claim 7, wherein the method further comprises causing theclient device to continue playback of the pre-roll media advertisementto completion prior to the playing of the second media item.
 10. Themethod of claim 7, wherein the method further comprises: determiningthat at least a threshold amount of the pre-roll advertisement has beenplayed back; receiving a request to dismiss the pre-roll mediaadvertisement; and in response to the request to dismiss the pre-rolladvertisement, causing the client device to play the second media item.11. The method of claim 7, wherein the method further comprisespartially rewinding the pre-roll media advertisement in response toreceiving the request to play the second media item prior to the clientdevice continuing to play the pre-roll media advertisement prior to theplaying of the second media item.
 12. The method of claim 7, wherein themedia player is presented in a first portion of the graphical userinterface, and wherein the pre-roll media advertisement is played in asecond media player that is presented in a second portion of thegraphical user interface in response to the request for the second mediaitem.
 13. A non-transitory computer readable medium containing computerexecutable instructions that, when executed by a processor, cause theprocessor to perform a method, the method comprising: receiving, from aclient device, a request for a first media item; in response to therequest for the first media item, causing a pre-roll media advertisementto be sent to the client device prior to the playback of the first mediaitem; causing the client device to play the pre-roll media advertisementusing a media player provided within a graphical user interfacedisplayed by the client device; in response to the request for the firstmedia item, causing transmission of the first media item to the clientdevice to begin during playback of the pre-roll media advertisementwhich causes the client device to buffer at least a portion of the firstmedia item during playback of the pre-roll media advertisement;receiving, from the client device, a request for a second media itemprior to completion of the pre-roll media advertisement; in response tothe request for the second media item, causing transmission of thesecond media item to the client device to begin during playback of thepre-roll media advertisement which causes the client device to buffer atleast a portion of the second media item during playback of the pre-rollmedia advertisement; and causing the client device to play the secondmedia item upon completion of the pre-roll advertisement.
 14. Thenon-transitory computer readable medium of claim 13, wherein a secondpre-roll media advertisement is associated with the second media itemand wherein the method further comprises skipping transmission of thesecond pre-roll media advertisement prior to the playing of the secondmedia item by the client device based on receipt of the request to playthe second media item being received prior to the completion of thepre-roll media advertisement.
 15. The non-transitory computer readablemedium of claim 13, wherein the method further comprises causing theclient device to continue playback of the pre-roll media advertisementto completion prior to the playing of the second media item.
 16. Thenon-transitory computer readable medium of claim 13, wherein the methodfurther comprises: determining that at least a threshold amount of thepre-roll advertisement has been played back; receiving a request todismiss the pre-roll media advertisement; and in response to the requestto dismiss the pre-roll advertisement, causing the client device to playthe second media item.
 17. The non-transitory computer readable mediumof claim 13, wherein the method further comprises partially rewindingthe pre-roll media advertisement in response to receiving the request toplay the second media item prior to the client device continuing to playthe pre-roll media advertisement prior to the playing of the secondmedia item.
 18. The non-transitory computer readable medium of claim 13,wherein the media player is presented in a first portion of thegraphical user interface, and wherein the pre-roll media advertisementis played in a second media player that is presented in a second portionof the graphical user interface in response to the request for thesecond media item.